The R markdown is available from the pulldown menu for Code at the upper-right, choose “Download Rmd”, or download the Rmd from GitHub.
Jupyter-Bridge is a Flask service that executes on a server accessible to both a remote Jupyter server and browser-based Jupyter client. Code running on the server calls Jupyter-Bridge to queue a request that the client will execute, and the client will use Jupyter-Bridge to return a reply. This enables a workflow running on remote Jupyter to execute functions on a PC-local Cytoscape – the remote Jupyter runs the request through Jupyter-Bridge, where it is picked up by Javascript code running on the Jupyter web page in the PC-local browser, which in turn calls Cytoscape. The Cytoscape response travels the reverse route.
Jupyter-Bridge allows a remote Jupyter Notebook to communicate with a workstation-based Cytoscape as if the Notebook were running on the Cytoscape workstation. A Jupyter Notebook passes a Cytoscape call to an independent Jupyter-Bridge server where it’s picked up by the Jupyter-Bridge browser component and is passed to Cytoscape. The Cytoscape response is returned via the opposite flow. As a result, workflows can reside in the cloud, access cloud resources, and yet still leverage Cytoscape features.
Installation
if(!"RCy3" %in% installed.packages()){
install.packages("BiocManager")
BiocManager::install("RCy3")
}
library(RCy3)
Required software
RCy3 works by connecting with Cytoscape. You will need to install and launch Cytoscape:
Connect to local Cytoscape
browserClientJs <- getBrowserClientJs()
IRdisplay::display_javascript(browserClientJs)
cytoscapePing()
Visit the Jupyter Bridge website for more information.
LS0tCnRpdGxlOiAiSnVweXRlciBCcmlkZ2UiCmF1dGhvcjogIllpaGFuZyBYaW4sIEFsZXggUGljbyIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkKYGBgCipUaGUgUiBtYXJrZG93biBpcyBhdmFpbGFibGUgZnJvbSB0aGUgcHVsbGRvd24gbWVudSBmb3IqIENvZGUgKmF0IHRoZSB1cHBlci1yaWdodCwgY2hvb3NlICJEb3dubG9hZCBSbWQiLCBvciBbZG93bmxvYWQgdGhlIFJtZCBmcm9tIEdpdEh1Yl0oaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2N5dG9zY2FwZS9jeXRvc2NhcGUtYXV0b21hdGlvbi9tYXN0ZXIvZm9yLXNjcmlwdGVycy9SL25vdGVib29rcy91c2UtY2FzZS0xLlJtZCkuKgoKPGhyIC8+CgpKdXB5dGVyLUJyaWRnZSBpcyBhIEZsYXNrIHNlcnZpY2UgdGhhdCBleGVjdXRlcyBvbiBhIHNlcnZlciBhY2Nlc3NpYmxlIHRvIGJvdGggYSByZW1vdGUgSnVweXRlciBzZXJ2ZXIgYW5kIGJyb3dzZXItYmFzZWQgSnVweXRlciBjbGllbnQuIENvZGUgcnVubmluZyBvbiB0aGUgc2VydmVyIGNhbGxzIEp1cHl0ZXItQnJpZGdlIHRvIHF1ZXVlIGEgcmVxdWVzdCB0aGF0IHRoZSBjbGllbnQgd2lsbCBleGVjdXRlLCBhbmQgdGhlIGNsaWVudCB3aWxsIHVzZSBKdXB5dGVyLUJyaWRnZSB0byByZXR1cm4gYSByZXBseS4gVGhpcyBlbmFibGVzIGEgd29ya2Zsb3cgcnVubmluZyBvbiByZW1vdGUgSnVweXRlciB0byBleGVjdXRlIGZ1bmN0aW9ucyBvbiBhIFBDLWxvY2FsIEN5dG9zY2FwZSAtLSB0aGUgcmVtb3RlIEp1cHl0ZXIgcnVucyB0aGUgcmVxdWVzdCB0aHJvdWdoIEp1cHl0ZXItQnJpZGdlLCB3aGVyZSBpdCBpcyBwaWNrZWQgdXAgYnkgSmF2YXNjcmlwdCBjb2RlIHJ1bm5pbmcgb24gdGhlIEp1cHl0ZXIgd2ViIHBhZ2UgaW4gdGhlIFBDLWxvY2FsIGJyb3dzZXIsIHdoaWNoIGluIHR1cm4gY2FsbHMgQ3l0b3NjYXBlLiBUaGUgQ3l0b3NjYXBlIHJlc3BvbnNlIHRyYXZlbHMgdGhlIHJldmVyc2Ugcm91dGUuCgpKdXB5dGVyLUJyaWRnZSBhbGxvd3MgYSByZW1vdGUgSnVweXRlciBOb3RlYm9vayB0byBjb21tdW5pY2F0ZSB3aXRoIGEgd29ya3N0YXRpb24tYmFzZWQgQ3l0b3NjYXBlIGFzIGlmIHRoZSBOb3RlYm9vayB3ZXJlIHJ1bm5pbmcgb24gdGhlIEN5dG9zY2FwZSB3b3Jrc3RhdGlvbi4gQSBKdXB5dGVyIE5vdGVib29rIHBhc3NlcyBhIEN5dG9zY2FwZSBjYWxsIHRvIGFuIGluZGVwZW5kZW50IEp1cHl0ZXItQnJpZGdlIHNlcnZlciB3aGVyZSBpdOKAmXMgcGlja2VkIHVwIGJ5IHRoZSBKdXB5dGVyLUJyaWRnZSBicm93c2VyIGNvbXBvbmVudCBhbmQgaXMgcGFzc2VkIHRvIEN5dG9zY2FwZS4gVGhlIEN5dG9zY2FwZSByZXNwb25zZSBpcyByZXR1cm5lZCB2aWEgdGhlIG9wcG9zaXRlIGZsb3cuIEFzIGEgcmVzdWx0LCB3b3JrZmxvd3MgY2FuIHJlc2lkZSBpbiB0aGUgY2xvdWQsIGFjY2VzcyBjbG91ZCByZXNvdXJjZXMsIGFuZCB5ZXQgc3RpbGwgbGV2ZXJhZ2UgQ3l0b3NjYXBlIGZlYXR1cmVzLgoKIyBJbnN0YWxsYXRpb24KYGBge3J9CmlmKCEiUkN5MyIgJWluJSBpbnN0YWxsZWQucGFja2FnZXMoKSl7CiAgICBpbnN0YWxsLnBhY2thZ2VzKCJCaW9jTWFuYWdlciIpCiAgICBCaW9jTWFuYWdlcjo6aW5zdGFsbCgiUkN5MyIpCn0KbGlicmFyeShSQ3kzKQpgYGAKCiMgUmVxdWlyZWQgc29mdHdhcmUKUkN5MyB3b3JrcyBieSBjb25uZWN0aW5nIHdpdGggQ3l0b3NjYXBlLiBZb3Ugd2lsbCBuZWVkIHRvIGluc3RhbGwgYW5kIGxhdW5jaCBDeXRvc2NhcGU6CgoqIERvd25sb2FkIHRoZSBsYXRlc3QgQ3l0b3NjYXBlIGZyb20gaHR0cDovL3d3dy5jeXRvc2NhcGUub3JnL2Rvd25sb2FkLnBocAoqIENvbXBsZXRlIGluc3RhbGxhdGlvbiB3aXphcmQKKiBMYXVuY2ggQ3l0b3NjYXBlCgojIENvbm5lY3QgdG8gbG9jYWwgQ3l0b3NjYXBlCmBgYHtyfQpicm93c2VyQ2xpZW50SnMgPC0gZ2V0QnJvd3NlckNsaWVudEpzKCkKSVJkaXNwbGF5OjpkaXNwbGF5X2phdmFzY3JpcHQoYnJvd3NlckNsaWVudEpzKQpjeXRvc2NhcGVQaW5nKCkKYGBgCgpWaXNpdCB0aGUgW0p1cHl0ZXIgQnJpZGdlIHdlYnNpdGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9jeXRvc2NhcGUvanVweXRlci1icmlkZ2UpIGZvciBtb3JlIGluZm9ybWF0aW9uLgo=